A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by any one of the patent disclosure as it appears in the U.S. Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
The present invention relates generally to computer systems for creating and manipulating computer-controlled characters, and in particular to a system and method for directing the improvisational behavior of a computer-controlled character.
Rapid advances in several core computer technologies are enabling and encouraging the development of new computer applications for entertainment, education, commerce, business, and consumer products. These technologies include computer processors and memory components, input/output devices, multi-media technologies, computer graphics, internet, and world wide web technologies. Many current and prospective applications exploiting these technologies involve computer-controlled characters whose appearances capture suggestive aspects of life-like creatures.
Potential applications for these computer-controlled characters include educational software, interactive story systems, computer games, on-line social communities, intelligent user interface and help systems, intelligent professional or personal assistants, interactive museum and theme park exhibits, training simulations, interactive television and cinema, and web-based advertising. The potential richness and sophistication of these applications is directly related to the range and variability of the characters"" behavior, the characters"" ability to reflect personality, mood, and other life-like qualities in their behavior, and the ease and power with which users, designers, and other system components can direct the characters"" behavior.
In contrast to the rapid advances in core technologies mentioned above, the current models and implementation technologies underlying computer characters and their behaviors are extremely primitive. In fact, except for superficial appearances, typical computer characters in existing applications are not true xe2x80x9ccharactersxe2x80x9d at all, but merely names, descriptions, or appearances of characters which are associated with simple behavioral models. For example, typical characters exhibit the following and other deficiencies:
Typical characters do not have broad repertoires of behaviors nor do they communicate and interact with one another in meaningful ways. Instead, they perform only a few physical behaviors and gestures, rarely perform any verbal behaviors, and react with standard responses to only a few actions by other characters.
Typical characters do not behave in ways that reflect distinctive personalities, context-dependent moods, emotional states, or other life-like qualities, such as normal variability, idiosyncrasies, or irregularities in their behavior. Instead, their behavior is unnaturally regular, repetitive, and robotic.
Typical characters do not adapt their behavior to a significant variety of run-time situations nor do they adapt their behavior to the characteristics, needs, preferences, or histories of individual users. Instead, they react in a predetermined manner to a small number of pre-enumerated events, behaving the same way for all users.
Typical characters do not interpret and follow directions nor do they integrate directions received from multiple sources. Instead, they blindly execute explicit instructions received from an individual user or script. These deficiencies in existing computer characters are widely recognized as a principal limiting factor on the design and development of innovative applications.
Attempts have been made to develop new character models which allow some degree of variability in the behavior of computer characters. For example, U.S. Pat. No. 5,498,002 and 5,498,003 issued to Ghecter on Mar. 12, 1996 disclose an interactive electronic game which has character behavior controllers for determining the behavior of respective game characters. The game also has a game controller containing logic for determining consistent game states for the characters. A random number generator determines the behavior of each character and the outcomes of interactions between the characters, typically a collision between two or more characters. The game further includes a user interface through which a user adds or deletes game characters and sets an initial velocity of each game character.
Although the interactive electronic game disclosed by Ghecter does allow for some variability in the behavior of characters, it does not allow for a broad range of behaviors to be displayed by the characters. Further, the behaviors displayed by the characters are not selected in dependence upon distinctive personalities of the characters, context-dependent moods, or other life-like criteria, such as diverse interactions between the characters. Instead, the behaviors are randomly determined by the random number generator.
Another computer system which attempts to animate characters such that the characters exhibit believable and engaging personalities is described in Loyall et al xe2x80x9cReal-Time Control of Animated Broad Agentsxe2x80x9d, Proceedings of the Fifteenth Annual Conference of the Cognitive Science Society, Jun. 18-21, 1993. Loyall shows three animated characters which perform certain physical actions in a virtual world in dependence upon their current sensor data and goals. The goals for each character are annotated with priority numbers and stored in an active plan tree. The active plan tree includes multiple plans for implementing each of the goals.
To control each animated character, Loyall""s system selects the most critical goal for the character based upon the annotated priority numbers and implements the selected goal using the most specific plan available for the goal. This goal-driven control does not allow a character to identify and choose among alternative behaviors that may be feasible in a given situation. Loyall""s system only assesses the feasibility of the most specific behavior plan that achieves the character""s highest priority goal, as determined from its prespecified priority number.
Moreover, Loyall""s system does not allow a character to consider alternative behavior plans for achieving its highest priority goal unless all of the more specific plans for achieving the goal have been determined to be not feasible. Similarly, the character does not consider plans for lower priority goals unless it has already determined that there is no feasible plan for achieving the highest priority goal. Further, the character does not consider any behavior plans that do not achieve its current goals.
As a result, Loyall""s system produces rigorously, reliably, and specifically goal-directed behavior. It does not allow the reflection of life-like qualities, such as normal variability, occasional irregularities, spontaneity, or opportunism, in a character""s behavior. It does not allow a character to select behaviors based upon alternative non-goal criteria, such as the character""s context-dependent moods, or to select behaviors because they just happen to be feasible in the present situation. Further, Loyall""s system does not allow a character to follow alternative directions that vary in the dimensions on which they constrain behavior or in the degree to which they constrain behavior.
In view of the above, it is an object of the present invention to provide a system and method for selecting a behavior to be executed by a computer-controlled character which enables the character to exhibit a broad range of interesting behaviors, including both physical and verbal behaviors, in a broad range of situations. Another object of the invention is to provide a system and method for selecting a behavior to be executed by a character which enables the character to reflect context-dependent moods and other life-like qualities, such as normal variability, idiosyncrasies, and irregularities in behavior. A further object of the invention is to provide a system and method for directing an improvisational character which enables the character to follow directions which vary in the degree to which they constrain behavior.
These and other objects and advantages will become more apparent after consideration of the ensuing description and the accompanying drawings.
The invention presents a computer system and method for selecting a behavior to be executed by an improvisational character. The method includes the step of storing in the computer system a set of possible behaviors for the character and state data representative of a current state of the character. The possible behaviors preferably include both physical and verbal behaviors. The current state preferably includes a current mood of the character, a directing state of the character, an activity state of the character, a current physical position of the character, and a current location of the character in a virtual world.
The method also includes the step of identifying from the set of possible behaviors a subset of feasible behaviors for the character in the current state. In the preferred embodiment, the feasible behaviors are identified in dependence upon the character""s current mood, activity state, physical position, and current location. The method further includes the step of determining for each of the feasible behaviors a respective desirability rating of the feasible behavior in the current state. The desirability rating is preferably determined in dependence upon the character""s current mood, directing state, activity state, physical position, and current location in the virtual world. The method also includes the step of selecting the behavior to be executed by the character from the subset of feasible behaviors.
The behavior to be executed is selected in dependence upon its desirability rating. In the preferred embodiment, the behavior to be executed is selected probabilistically from the subset of feasible behaviors with a selection probability that is an increasing function of the desirability rating of the behavior. In a second embodiment, the behavior to be executed is selected by identifying from the subset of feasible behaviors a subset of desirable behaviors whose desirability ratings exceed a specified desirability rating threshold. The behavior to be executed is then selected from the subset of desirable behaviors. In a third embodiment, the behavior to be executed is selected as the feasible behavior having the highest desirability rating.